Ứng dụng web PHP Quản lý Điểm Sinh viên
Quản lý toàn bộ vòng đời điểm số: cấu hình danh mục, phân công giảng dạy, nhập điểm đa trọng số, duyệt bảng điểm và tra cứu cho sinh viên.
Chức năng chính:
- Quản trị danh mục: quản lý môn học, học kỳ, sinh viên, giáo viên; cấu hình thang điểm chữ A–F và tiêu chí Pass/Fail.
- Cấu hình loại điểm động: khai báo danh mục điểm và trọng số (tổng 100%) cho từng môn; dễ thêm/bớt loại điểm mới.
- Phân công & đăng ký:
+ Gán giáo viên vào môn + học kỳ, kiểm soát lớp được phép nhập điểm.
+ Tạo lớp học, mở/đóng đăng ký; duyệt yêu cầu đăng ký của sinh viên hoặc thêm thủ công.
- Nhập và duyệt điểm:
+ Giáo viên nhập điểm theo lớp/môn/học kỳ; lưu trạng thái "draft".
+ Quy trình gửi duyệt và phê duyệt: giáo viên nộp, Phòng Đào tạo duyệt/mở lại; tự động tính điểm thành phần, điểm cuối, quy đổi thang 4 & chữ.
- Tra cứu điểm cho sinh viên: xem bảng điểm cá nhân theo học kỳ với trạng thái draft/submitted/approved, Pass/Fail.
- Báo cáo nhanh: thống kê chuyên cần thấp, top GPA mẫu.
- Bảo mật & vận hành: phiên PHP cấu hình tên trong .env, mật khẩu hash, truy vấn PDO prepared, chống XSS và SQL injection, , API JSON chuẩn {status, message, data?}.
Điểm nổi bật:
- Loại điểm linh hoạt: tùy biến trọng số từng môn, hỗ trợ nhiều đầu điểm mà không cần sửa code backend.
- Quy đổi đa thang: tính tự động thang 10, thang 4 và chữ A–F theo cấu hình quản trị.
- Luồng duyệt rõ ràng: tách biệt trạng thái draft → submitted → approved, đảm bảo kiểm soát sửa điểm.
- Cảnh báo sớm đậu/rớt cho sinh viên, số liệu thể hiện trực quan cho giáo viên, phòng đào tạo.
* Hệ thống phân quyền cho 3 nhóm người dùng như sau:
- Admin (Phòng Đào tạo): quản lý danh mục (môn học, học kỳ, lớp), cấu hình loại điểm theo môn (đầu điểm + trọng số), cấu hình thang điểm chữ & quy đổi thang 4, quản lý giáo viên/sinh viên, phân công giảng dạy và duyệt/khoá bảng điểm, quản lý tài khoản.
- Giáo viên: nhập điểm thành phần theo lớp học; lưu tạm (Draft), nộp (Submit), xuất bảng điểm (excel, in) và xử lý/chỉnh điểm trong giai đoạn phúc khảo, quản lý lớp được phân công.
- Sinh viên: xem điểm theo học kỳ/môn học; xem chi tiết đầu điểm; gửi yêu cầu phúc khảo trong thời gian cho phép, đăng ký lớp học.
Luồng thao tác chính
- Thang điểm chữ: nhập/điều chỉnh khoảng điểm và chữ (A-F) trong menu "Thang điểm chữ".
Môn học & đầu điểm: thêm môn học, vào "Cấu hình đầu điểm" để khai báo danh mục điểm và trọng số (tổng 100%).
- Học kỳ: tạo học kỳ và trạng thái mở/khoá.
- Sinh viên/Giáo viên: thêm mới/điều chỉnh thông tin.
- Phân công giảng dạy: admin gán giáo viên vào môn + học kỳ (menu "Phân công giảng dạy") để giới hạn nhập điểm đúng lớp.
- Đăng ký môn: vào "Đăng ký môn" để gán sinh viên vào môn + học kỳ (chỉ khi học kỳ đang mở).
- Lớp học & đăng ký: menu "Lớp học" cho phép tạo lớp gắn môn/học kỳ. Sinh viên gửi yêu cầu đăng ký, giáo viên duyệt hoặc tự thêm sinh viên; danh sách duyệt tự động tạo đăng ký môn. Có thể đóng/mở lớp để khoá đăng ký.
- Nhập điểm & quy trình duyệt: giáo viên chọn môn + lớp để nhập điểm cho toàn bộ sinh viên trong lớp (được phân công dạy). Điểm lưu ở trạng thái "draft", bấm "Nộp duyệt" để gửi admin. Admin có thể duyệt (đóng sửa) hoặc mở lại bằng cách chỉnh sửa điểm để về trạng thái "draft".
- Sinh viên xem điểm: menu "Xem điểm" hiển thị bảng điểm cá nhân theo học kỳ, gồm điểm thành phần, điểm cuối, trạng thái Pass/Fail và trạng thái bảng điểm (draft/submitted/approved).
- Báo cáo: xem nhanh chuyên cần thấp, top GPA (demo có sẵn).
Công nghệ sử dụng:
- Backend: PHP thuần
- Cơ sở dữ liệu: MySQL
- Frontend: HTML, CSS, TailwindCSS, JavaScript
AJAX, SweetAlert2, DataTables
- Sử dụng API JSON chuẩn dễ dàng phát triển ứng dụng mobile.
* Code mã nguồn sạch đẹp, không mã độc, không lỗi, có sẵn sơ đồ usecase, class, activity, erd, sequence, và báo cáo .docx
XEM THÊM ==> Hướng dẫn cài đặt chi tiết
Nguồn: Sharecode.vn
Giải nén code vào thư mục htdocs (xampp)
tạo CSDL tên diemsv và import dữ liệu từ file diemsv.sql
chỉnh các biến trong file .env
APP_URL="http://localhost/diemsv"
ASSET_URL="http://localhost/diemsv/assets"
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=diemsv
DB_USERNAME=root
DB_PASSWORD=
Chạy code với đường dẫn http://localhost/diemsv
Tài khoản: